﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace goAlarmsCS
{
    public interface IAlarmScheduler
    {
        Dictionary<string,Alarm> AlarmList { get; }
        void Startup();
        void Shutdown();
        void AddTrigger(Alarm alarm);
        void RemoveTrigger(Alarm alarm);
        void PauseTrigger(Alarm alarm);
        void ResumeTrigger(Alarm alarm);
        void PauseTriggerGroup(Alarm alarm);
        void ResumeTriggerGroup(Alarm alarm);
        void SetSnoozeTrigger(Alarm alarm, int duration);
        void SetNextOccurrence(Alarm alarm, DateTime nextOccurrence);
        void Execute(string triggerName);
    }
}